Method and apparatus for controlling communications

ABSTRACT

A method and an apparatus for controlling a communication established between terminals through a telecommunications system. When a malfunction event related to a communication ( 310 ) established between terminals is detected ( 320 ), a determination ( 330 ) is made in the telecommunications system of a faulty terminal and a non-faulty terminal, according to the malfunction event. Subsequently, the telecommunications systems determines ( 340 ) whether a terminal is registered for a user identifier which was registered through the faulty terminal, or which is related to it by subscription and, in that case, it establishes ( 350 ) a new communication between said registered terminal and the non-faulty terminal. The user of the non-faulty terminal can rely on the telecommunications system to recover automatically the lost communication, without trying to attempt a new communication request with an uncertain result.

FIELD OF THE INVENTION

The present invention relates to a method and an apparatus forcontrolling a communication established between terminals through atelecommunications system.

BACKGROUND

A telecommunications system comprises a number of telecommunicationnodes and a number of communication links. The telecommunication nodesare apparatuses arranged for processing, directly or indirectly, thesignaling and/or media exchanged via communication links with theterminals connected to the system so as to allow them to communicatethrough it. The resources of a particular system in terms of number andkind of telecommunication nodes, and number and kind of communicationlinks, as well as their respective capacities, depend, among others, onfactors such as: the number of users the system is intended to serve,the nature of the services offered by or from the system and the type ofaccesses used by the users to connect their terminals to the system.

Usually, these resources are however not dimensioned for servingsimultaneously communications to all the terminals connected/attached toit, or which can eventually connect/attach to it. For example, a givennode assigned to process the signaling of a certain number of terminalsfor allowing them to establish (i.e. make or receive) communicationswith other terminals, usually, does not have processing and/orcommunication capabilities to serve simultaneously the establishment ofcommunications for all these assigned terminals. Similarly, acommunication link connecting a telecommunication node with anotherentity (such as other node/s or terminals) has a limited informationtransfer capability. For these reasons, it is of the utmost importancethe implementation of mechanisms which allow detection of faultysituations, and which allow freeing, preferably quickly and in acontrolled way, the seized resources for a communication establishedbetween two, or more, terminals when a malfunction event related to saidcommunication is detected.

A well known fault detection mechanism comprises the association of atimer to a message which is sent from a terminal or from a node to acommunication peer (terminal or node) in the communication, and whichneeds a reply to be received from said peer. If, for example, a terminalor node becomes faulty during said signaling round trip, and fails totransmit the reply, a time-out takes place, which makes the otherintervening entity(ies) in the communication to release all theresources they have allocated for it. However, since signaling roundtrips as described above do not usually take place all along acommunication, other kind of fault detection mechanisms are alsodesirable.

An example of this kind of mechanism is disclosed in IETF RFC4028(April, 2005), which can be used for communications established througha telecommunications system using the Session Initiation Protocol SIP.The RFC4028 discloses a session timer for controlling a communicationbetween terminals. The timer is agreed with a certain value when thecommunication is established, and it is periodically re-started beforeits expiry, if the communication is still alive, by means of SIP“UPDATE” or “RE-INVITE” messages. If, for example, one of the terminalsin the communication becomes faulty, a time-out of the session timertakes place, since no refresh message is received; which makes the peerterminal, as well as an intervening SIP-proxy (a kind of node arrangedto route signaling in SIP signaling telecommunications systems), torelease the resources it had allocated for said communication.

However, in case of a malfunction situation, although the remainingnon-faulty parties (nodes and terminals) can, according to faultdetection procedures, get aware of this event, or be notified about it,and then, accordingly, release the allocated resources, the users of allthe terminals that were involved in the faulty communication mustestablish a new one if they still want to communicate.

Nevertheless, the nature of the malfunction event that caused thecommunication to fail is usually unknown for the non-faulty terminal(s),as the fault may be due to several reasons, such as: a failure on anypoint in the interconnection network, a failure in an interveningtelecommunications node (e.g. a proxy, a media gateway, etc), amalfunction in a counterpart terminal, etc; which can createuncertainties for the user of said non-faulty terminal on, e.g.: whethertrying to re-establish the communication immediately, or waiting for agiven time to do so, or waiting for the other terminal to re-establishthe communication.

SUMMARY OF THE INVENTION

In one aspect, the invention relates to a method for controlling acommunication between terminals as claimed in claim 1. In furtheraspects, the invention relates to an apparatus as claimed in claim 11,and to a computer program as claimed in claim 22. Embodiments of theinvention are set out in the dependent claims.

According to the invention, when a malfunction event related to acommunication established between terminals is detected, a determinationis made in the telecommunications system of a faulty terminal and anon-faulty terminal, according to the malfunction event. Subsequently,the telecommunications system determines whether a terminal isregistered for a user identifier which was registered through the faultyterminal, or which is related to it by subscription, and, in that case,it establishes a new communication between said registered terminal andthe non-faulty terminal.

Since a registered terminal which relates to the user of the faultyterminal is detected by the telecommunications system, and thecommunication with the non-faulty terminal is re-established with saidregistered terminal with its intervention, the user of the non-faultyterminal can rely on the telecommunications system to recoverautomatically the lost communication, without trying to attempt a newcommunication request with an uncertain result.

According to one embodiment, a malfunction event is detected in thetelecommunication system by checking whether a disruption in the mediasent from a terminal involved in a communication has occurred. Accordingto another embodiment, the malfunction event is detected in thetelecommunication system by checking whether a time-out for sending amessage from a terminal involved in a communication has occurred.According to yet another embodiment, a notification of a malfunctionevent is received in the telecommunication system from a terminalinvolved in a communication which has detected a malfunction in saidcommunication.

By monitoring status of the media and signaling exchanged in acommunication, as well as by receiving malfunction notifications from aninvolved terminal, the telecommunications system can collect malfunctioninformation and, according to it, determine which terminal can beconsidered as faulty and/or as non-faulty, and proceed accordingly.

According to another embodiment, the telecommunications system can senda test message to a terminal involved in the communication, and wait fora subsequent reply, so as to determine said terminal as afaulty-terminal if no reply is received on time. The test message can,according to alternative realizations, be sent at any time in acommunication and to any terminal involved on it, or be sent to aparticular terminal, which could be determined as faulty according to adetected malfunction event, so as to confirm or discard said terminal tobe determined as a faulty terminal.

By sending a test message requesting a reply from the telecommunicationssystem to a terminal involved in a communication which is suspicious ofbeing faulty, a more accurate determination of said terminal as either:faulty or non-faulty, can be made in the telecommunications system;thereby allowing to discard a temporary malfunction in a terminal if theappropriate reply is received on time and, thus, avoiding the subsequentrecovery procedure to be executed unnecessarily.

According to one embodiment of the invention, the communication with thenon-faulty terminal can be put on-hold from the telecommunicationssystem, and be resumed later, when the faulty terminal, or anotherterminal registered for the same user identifier which was registeredfrom said terminal, or related to said identifier by subscription, isdetected by the telecommunications system, and consents in there-establishment of the communication.

By putting on-hold the non-faulty terminal some system resources, suchas media transmission resources, can be temporarily released and usedfor other eventual communications. Furthermore, the telecommunicationssystem can add information for the user of the non-faulty terminal in asignaling message which puts its communication on-hold, so as to informhim about the detected fault and/or to inform him that are-establishment of the communication is being tried from the system.Moreover, by putting on-hold the non-faulty terminal, the subsequentsignaling for re-establishing the communication with it can be decreasedcompared with the signaling that would be needed for accomplishing witha completely new communication establishment with said non-faultyterminal.

According to yet another embodiment, the telecommunications system canstart a timer after a malfunction event in a communication is detectedfor controlling whether further processing steps of the recoveryprocedure are executed or not.

By establishing a certain time-limit to recover a faulty communication,some resources, which can be still reserved in the telecommunicationssystem for its re-establishment, can be definitively released, andbecome usable for other communications, at time-out of the controllingtimer. The timer can be set, or modified, to a certain value dependingon factors such as traffic load conditions of the system and/orsubscription data of an affected user.

Further embodiments of the invention relate to the mechanisms fordetecting in the telecommunication system the existence of a registeredterminal suitable to re-establish the communication with the non-faultyterminal. In one embodiment, this is accomplished at reception in thetelecommunications system of a message notifying a registration of aterminal for a user identifier. In another embodiment, this isaccomplished at reception in the telecommunications system of a messagerequesting to recover a previous communication from a terminalregistered in the telecommunications system for a user identifier. Inboth cases, a check is made in the telecommunications system todetermine whether said user identifier was registered through the faultyterminal, or whether it is related to said identifier by subscription.

By checking the user identifier of a registering, or registered,terminal, the telecommunications system can determine an appropriateterminal for re-establishing the lost communication, which can be thesame terminal that became faulty, now recovered, or another terminalused by the same user of said faulty terminal.

The establishment of the new communication can, according to oneembodiment of the invention, be accomplished by sending to theregistered terminal information usable for establishing a communicationwith the non-faulty terminal, such as a user identifier registeredthrough the non-faulty terminal or related by subscription to said useridentifier. This information can be used from the registered terminal torequest a new communication, which the telecommunication system can useto re-establish the communication with the non-faulty terminal.

By sending information about previously lost, faulty, communicationstowards the registered terminal, the user of said terminal can beinformed about communications he had established when his terminalfailed, and receive some data usable to recover the desired one(s).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a simplified view of a telecommunications system used toillustrate some embodiments of the invention.

FIG. 2 shows a schematic representation of some functional modules of anapparatus for controlling communications established between terminalsaccording to one embodiment of the invention.

FIG. 3 shows a flowchart illustrating steps of a method for controllinga communications established between terminals according to oneembodiment of the invention.

FIGS. 4 and 5 show simplified signaling flows between some of theentities shown in FIG. 1 for illustrating some of the steps of FIG. 3according to embodiments of the invention.

DETAILED DESCRIPTION

Exemplary embodiments of the invention shall now be described withreference to FIGS. 1 to 5. FIG. 1 illustrates schematically some nodesof a 3^(rd) Generation 3G telecommunications system 100 comprising theso called Internet Protocol IP Multimedia Subsystem, or IMS. In short,the IMS allows the establishment of multimedia communications using theSIP protocol for users whose terminals can be connected to the system100 via a plurality of different types of access networks, such as radioaccess from a Global System for Mobile communications GSM, WirelessLocal Area Networks WLANs, as well as from fixed “wired” networks. Thecomplex telecommunications system shown in FIG. 1 has been selected toillustrate some advantageous embodiments using the same scenario, and,as will be readily apparent for the skilled person, it does not limitthe scope of the invention to this particular system.

In the simplified illustration of FIG. 1, a first user terminal 101 isshown in communication with a second user terminal 115. Terminal 101accesses to the telecommunications system 100 via an access network 102,which comprises a Base Station System BSS, or a Radio Network SystemRNS, of the 3G telecommunications system 100. The connection of terminal101 to the IMS is provided via a General Packet Radio System GPRSinfrastructure comprising: a Serving GPRS Support Node SGSN 103, and aGateway GPRS Support Node GGSN 104. In turn, terminal 115 is shownaccessing system 100 via another kind of connectivity access network114, such as a WLAN, a (wired) LAN, or another kind of wired or wirelessaccess, which internal structure is not further detailed.

The users of both terminals are assumed to be subscribed to the IMS ofsystem 100, which, among other nodes, comprises: one or more HomeSubscriber Servers HSS 109, for storing subscription and location dataof the users and their terminals, and one or more SIP proxies, namedCall Session Control Functions CSCFs, which, on their different roles ofProxy P-CSCF (105, 111), Serving S-CSCF (107 a, 110), and InterrogatingI-CSCF (not shown in FIG. 1), are assigned to process and routesignaling exchanged with terminals connected to the IMS of system 100.

Briefly, the role of a S-CSCF for an assigned terminal is to interveneand route its signaling according to data contained in said signaling,as well as according to subscription data received from the HSS for theuser of said terminal. In turn, a P-CSCF is the first contact point fora terminal (101, 115) with the IMS; it intervenes in matters related tothe media exchanged with said terminal via the access network, androutes its signaling to/from the S-CSCF assigned to the terminal duringits registration in the IMS.

When terminals 101 and 115 have a established communication, such as amultimedia communication, through system 100, a signaling channel 116and one or more media channels 117 are set up between them trough someof the entities of the telecommunications system. The signaling channel116 is used to transport signaling messages originating and terminatingon each of the involved terminals 101 and 115 for, among other purposes,allowing the establishment of the media channel(s) 117 through whichmedia (e.g. voice, data, image, etc) can be exchanged during the time ofthe communication.

In the scenario illustrated in FIG. 1, two entities perform policyenforcing and monitoring functions on the media exchanged from eachterminal, which, for example, can be used to collect information usedfor flow-based charging, and for controlling/enforcing quality ofservice of the media channels 117. For terminal 101, this can beperformed within the GGSN 104 by means of a functional entity embeddedon it known as Policy and Charging Enforcing Function PCEF (not shown).In turn, for terminal 115 this is performed by a Border Gateway FunctionBGF 113. Policy control decisions for terminals 101 and 115 belong,respectively, to Policy Control and Charging Rules Function PCRF 106 andSession Policy Decision Function SPDF 112. In short, the decisionentities (i.e. PCRF 106 or SPDF 112) receive information from,respectively, P-CSCFs 105 and 111, so as to build up policy rules whichare downloaded to, respectively, the PCRF within GGSN 104 and the BGF113, which monitor the data flows according to these rules. According toalternative technical realizations, a PCRF can be embedded within aP-CSCF. Similarly, an entity known as Session Border Controller SBC canembed the functionalities of a P-CSCF (e.g. 111), a SPDF (e.g. 112) anda BGF (e.g. 113).

The HSS 109, as illustrated in FIG. 1, stores subscription data of theuser of terminal 101 (SUBS-1) and of the user of terminal 115 (SUBS-2).Among other data of these users, the HSS 109 stores the identifier(s)which, by subscription, are assigned to them (respectively: IDa, IDb,IDc; and IDx, IDy). In case these users are registered into the system100, the HSS 109 stores also an identifier of the S-CSCF assigned(respectively: 107 and 110) and the user identifiers that these usershave registered through their terminals. The HSS 109 becomes aware of auser registered from a terminal by receiving information from a S-CSCFthat a registration of a given user identifier of a user has beenrequested from a terminal. For example, if the user SUBS-1 of terminal101 registers through S-CSCF 107 a his user identifier IDb, the HSS 109keeps stored this dynamic data during the time of the registration,which allow other nodes in the system 100 to find where to route theinitial signaling of a communication addressed for said user identifierby querying to the HSS 109. Details on whether a given user identifierof a user is registered or not through a terminal are not given in theschematic representation of FIG. 1.

A S-CSCF, for example S-CSCF 107 a, can be arranged to communicate withan application server AS. The AS can be assigned to perform high-levelfunctions related to the signaling originating from and/or terminatingto the terminal 101 of a user SUBS-1, and/or related to the signalingintended for user SUBS-1. In IMS this kind of AS is known as SIP-AS and,for example, can be assigned to process an incoming call addressed to,e.g., the identifier IDa of the user SUBS-1 when he has not registeredsaid identifier through any terminal yet (e.g. the AS can order to playa pre-recorded message and/or can divert the incoming call towards apre-defined destination terminal). Both: a S-CSCF, and a AS as describedabove, are examples of nodes arranged to control a communicationestablished between terminals.

According to an alternative realization, the functionality of a recoveryserver apparatus according to the invention (e.g. RS 107 b) can beembedded within an existing SIP-AS assigned to process the signaling ofa terminal of a given user. According to other alternative realizations,this novel functionality can reside in a specific AS devoted to thiskind of tasks, or be embedded, e.g., as an extra feature, within aS-CSCF. The following description given with reference to the schematicrepresentation of FIG. 2 will consider the latest case.

A telecommunications node, such as S-CSCF 107 a or RS 107 b, can beimplemented as a computer-based apparatus comprising software andhardware, which, depending on construction alternatives, can be locatedwithin a physical machine, or be distributed across various cooperatingphysical machines. Under a functional point of view, the node comprisesa set of functional modules comprising: software, hardware, or acombination of both; wherein each functional module is designed toperform a specific (sub)function of the node and, if proceeds, tocooperate with software and/or hardware parts which implements other ofits functional modules. The software can comprise one or more computerprograms (computer readable program code) that, when executed by thecomputer-based apparatus makes it to behave according to a predefinedmanner, as determined by the specific program instructions in saidprograms, which is in accordance to the specific functionality of thetelecommunications node it implements.

Accordingly, the explanation given with reference to FIG. 2 shalldescribe some functional components of a S-CSCF 107, arranged toaccomplish with aspects of the invention, without falling into specificconstruction details concerning the possible physical realizations,which are well known by those skilled and which, consequently, are notneeded to understand the invention.

The simplified internal structure shown in FIG. 2 for S-CSCF 107comprises: a processing module 201, a communications module 202, a datastorage module 203 and internal communication bus 204 which allow datacommunication and cooperation between them. It is to be noticed herethat, depending on specific characteristics, other kind of nodes, whichcould be also modified to accomplish with the invention, can comprisefurther modules (e.g. to perform media transcoding and/or mediarouting).

The processing module 201 can comprise one processor 2010, or aplurality of processors which, for example, can be arranged to work inload-sharing or active-backup mode.

Processor 2010 in S-CSCF 107 executes service logic for handling thesignaling related to the user terminals it has been assigned to serve.This comprises processing of registration messages from these terminals,as well as processing and routing of signaling messages exchanged withthese terminals for controlling their communications. The service logicexecuted by processor 2010 is further enhanced with the novelfunctionality of the invention that shall be later detailed.

Communications between S-CSCF 107 and other entities (such as: P-CSCFs,HSSs, other S-CSCFs, etc) are performed via communications module 202,which is illustrated in FIG. 2 as comprising two communication devices2021 and 2022. In general, when a message is to be sent, the processingmodule requests the communications module to send the message andprovides it with the necessary data, and, when a message is received bythe communications module, it transfers the relevant content to theprocessing module for triggering the necessary processing. Depending onimplementation alternatives, some of the communication devices (2021,2022) can be devoted to a specific kind of communication; for example:only with some other node with which a standardized or proprietarysignaling interface is used, only for a given type of communicationprotocol, etc. Also, depending on implementation details, some of thecommunication devices may be suited to handle any kind of thecommunications that may be carried out by the S-CSCF according to morethan one communication protocol. For example, DIAMETER protocol (IETFRFC3588, September 2003) can be used between a S-CSCF and a HSS or anAS, and SIP protocol (IETF RFC3261, June 2002) can be used between aS-CSCF and a P-CSCF, or another S-CSCF, to control a communicationbetween terminals. These communication protocols (as well as otherprotocols) can be easily extended for allowing conveyance of new ormodified contents, so as to accomplish with invention, as will be laterdescribed.

The number of communication devices in S-CSCF 107 may vary depending ontheir respective capacity for handling external signaling compared withthe overall signaling estimated for said node. Depending also onimplementation details, a communications module 202 may comprise somefunctional or physical elements (hardware, software or combination) thatmay be common to one or more communication devices 2021, 2022, such as apart of a given communications protocol stack, being, the other(protocol specific) parts residing on the corresponding communicationdevice.

Data storage modules 203 and 303 stores the data needed for theoperation of S-CSCF 107. A data storage module in a computer-basedtelecommunications node can comprise one or more data storage devices.In the example illustrated in FIG. 2 the data storage module 203 ofS-CSCF 107 comprises storage devices 2031 and 2032. Memory chips andmagnetic or optical discs are example of data storage devices. Dependingon criteria such as data access speed for certain data, storagereliability, etc, the storage module of a telecommunications node cancomprise one or more storage devices of the same or different kind. FIG.2 illustrates schematically some of the data that can be handled byS-CSCF 107, which shall now be described.

The operation of S-CSCF 107 is controlled by computer-readable programcode 203-1 comprising instructions (CI-11 . . . , CI-1N) that, whenexecuted by processor 2010, makes it to perform as a S-CSCF of thestate-of-the-art, further performing new functions according toembodiments of the invention.

Reference 203-2 represents a plurality of data records (SCTX-N), eachrelated to the user terminals which are assigned to be served fromS-CSCF 107, which have an established communication with anotherterminal. Within these records the S-CSCF 107 store session related datanecessary to perform its controlling functions. FIG. 2 illustrates withfurther detail some data content of one of these records which, inaddition to other necessary data (not detailed in the figure), can berelevant for the accomplishment of some embodiments of the invention.

For example, assuming that S-CSCF 107 has been assigned to serve controlof communications to terminal 101, and that terminal 101 has establisheda communication with terminal 115, the corresponding session recordSCTX-N can store information on whether said communication failedbecause a malfunction event was detected. This can be accomplished by arecovery mark data RCVR-MRK which, in a simple realization, can statewhether (Y/N) a recovery action is needed for the failed communication.If the communication failed, some further data can advantageously bestored in the session record SCTX-N, such as: information about theterminals involved in the communication (101 i, 115 i), which cancomprise user identifier(s) registered through these terminals and/oridentifiers usable to route information towards these terminals (IDa,IDb, IDx), data concerning particular conditions of the establishedcommunication (SESDAT), and timing information (TIMER) for controllingthe re-establishment procedure started from the telecommunicationssystem.

If, e.g., terminal 101 was determined as faulty according to thedetected malfunction event, the S-CSCF 107 can store in relationshipwith information about said terminal 101 i a mark (F) stating thatterminal 101 was the faulty one, and, in relationship with informationabout terminal 115 (115 i) a mark (NF) stating that terminal 115 is thenon-faulty terminal. In case of a malfunction related to terminal 101,the information stored can further comprise (IDa, IDb) the useridentifier(s) which was(were) registered (or assigned) to said terminal,as well as other user identifier(s) related to said identifier(s) bysubscription. As will be later detailed, this can help to recover thelost communication, not necessarily with the same terminal which failed101, but also with any other terminal that could be being used by thesame user.

Some data of the failed communication can be kept in the record SCTX-N,such as the requested service type SRV (e.g. multimedia communication,push-to-talk, etc), or media information MED (e.g. established channels,accepted codecs, etc), which can help to establish later the newcommunication with similar characteristics as the failed one. Forexample, some of these data can be sent to the terminal which recoverslater the communication with the non-faulty terminal (e.g. for userinformation purposes and/or for being reused for the new communication).Also, status information STAT of a communication to be recovered can bekept in the session context record SCTX-N, so as to monitor the recoverystatus according to related events.

As will be apparent from the description, the teachings detailed abovein relationship with FIG. 2 with regard to a S-CSCF modified accordingto the invention, can be easily applied to an alternative embodimentwherein the node 107 controlling the communication, and the subsequentrecovery procedure, is an application server (e.g. 107 b) whichcooperates in said control with a S-CSCF (e.g. 107 a).

The steps of a method for controlling a communication between terminalsaccording to one embodiment of the invention are illustrated in FIG. 3.

In step 310 the communication established between two or more terminalsis controlled from the telecommunications system. As cited earlier, thecontrol of the communication can comprise the intervention ofrouting/controlling nodes, such as CSCFs, and also the intervention ofapplication servers ASs. In step 320 a malfunction event related to thecommunication is detected. The discovery of the fault can be made by anode in the telecommunications system, or by one of the involvedterminals. Sub-step 321 represents the detection in thetelecommunication system of a disruption in the media sent from aterminal. Sub-step 322 represents the detection in the telecommunicationsystem of a time-out for sending a message from a terminal. Sub-step 323represents the reception in the telecommunication system of anotification of a malfunction event detected by a terminal. Detailsconcerning these sub-steps (321, 322, 323) will be later described withreference to FIG. 4.

According to the detected malfunction event, a determination is made inthe telecommunication system in step 330 of a faulty terminal and anon-faulty terminal among the terminals involved in the affectedcommunication. If the malfunction event relates to the media sent from aparticular terminal, said terminal can be determined as faulty. If, forexample, a terminal in a communication fails to send a reply to a givenmessage which requires so, or, for example, fails to send a refreshmessage as described earlier with reference to RFC4028, the event can bedetected by a node in the telecommunications system involved in thesignaling of the communication and, accordingly, said terminal can bedetermined as faulty. These kinds of malfunction events, i.e.: eventsrelated to media disruption, or time-outs for receiving a message, froma peer terminal in the communication, as well as other malfunctionevents, can be discovered by a terminal in the communication andnotified to the telecommunications system, which can determine said peerterminal as a faulty terminal.

The determination of step 330 can be made in one step, when themalfunction event (321, 322, 323) is detected. Alternatively, apreliminary determination of a faulty terminal can be made when amalfunction event is detected. In this case, a test towards the terminalsuspicious of being faulty, or to any terminal involved in the samecommunication, can be started from the telecommunications system, whichcan help to make a final and more accurate determination of faulty andnon-faulty terminal(s) in the communication. A possible realization ofsaid test will be later described with reference to FIG. 5.

In step 340 the telecommunications system starts taking the initiativefor recovering the lost communication by detecting whether there is aterminal registered (i.e. permanently connected—as characteristic insome “wired” access networks—, or temporarily attached—as characteristicin “wireless” access networks) which can be suitable to re-establish thecommunication with the non-faulty terminal. Preferably, said terminal isregistered, temporarily or permanently, for a user identifier which iseither: the same as the user identifier which was registered through thefaulty terminal, or belongs to the same subscription. This helps toensure that the user of the non-faulty terminal recovers itscommunication with the same user he was communicating with when thecommunication failed. For example, using some subscriber dataillustrated in FIG. 1, and assuming terminal 101 as faulty, if saidterminal was registered for user identifier IDb of SUBS-1, the systemcan check (e.g. immediately, periodically during a certain time, etc)whether there is a terminal registered for user identifiers: IDa, IDb orIDc.

Step 340 can be accomplished in different ways, which can vary dependingon the specific characteristics of the telecommunications system and/orthe node(s) arranged to accomplish with the invention. For example, ifthe telecommunications system incorporates IMS (as shown in FIG. 1) aS-CSCF can send a query (e.g. immediately, periodically during a certaintime, etc) to the HSS comprising a user identifier which was registeredthrough the faulty terminal, said query requesting the registrationstatus information of said identifier and/or of any other useridentifier related to the same subscription. Alternatively, anapplication server AS can send a message to the HSS to subscribe toregistration event notifications related to a user identifier (i.e. auser identifier registered through the faulty determined terminal)and/or related to the same subscription. Then, if/when a registeredterminal is found, the HSS can provide back to the querying S-CSCF, orAS, information usable to enter in communication with it forre-establishing the communication with the non-faulty terminal in step350.

Some other alternative implementations for accomplishing with step 340,as well as details related to the establishing of the new communicationof step 350, shall be later described with reference to FIG. 5.

FIGS. 4 and 5 illustrate some relevant signaling flows and sequence ofsteps of the method described before according to two differentembodiments. FIG. 4 considers an embodiment wherein the control of thecommunication is performed by a S-CSCF 107 a and a cooperating AS 107 b,and focuses on details concerning early steps of the method of theinvention. In turn, the embodiment illustrated in FIG. 5 considers asingle telecommunications node 107 performing the control, and focuseson details concerning subsequent steps of the method.

It shall be noticed that, although the communications illustrated in theexamples of FIGS. 4 and 5 involve only two terminals, the proceduralsteps and apparatus(es) modified according to the invention are equallyapplicable to communications established between a higher number ofterminals (e.g. a multi-conference), being the only requirement that atleast one node involved in the control of said communication processes adetected malfunction event as described herein.

Step 300 groups the signaling flows which take place at registration ofuser terminal 101 within the IMS of telecommunications system 100, whichare not further detailed in the figure for the sake of clarity. Theseflows are intended for authenticating the user credentials presentedfrom the terminal 100 and for registering into the system one or moreuser identifiers of its user. For example, in this phase (300) the userof terminal 101 can be authenticated as subscriber SUBS-1, and registerthrough that terminal one or more of his user identifiers (IDa, IDb,IDc). The 3GPP technical specification TS 24.228 (V5.9.0; June-2004)provides details of this registration phase on chapter 6. User terminal115 is assumed to be already registered (or permanently connected) tothe system 100, and can be assumed to be served from the same S-CSCF 107a as terminal 101, or from another S-CSCF (e.g. S-CSCF 110, not shown inFIG. 4), for its originating and terminating signaling.

The usual end-point for a registration signaling 300 within IMS is theS-CSCF which is assigned for the corresponding user (e.g. S-CSCF 107 a).However, as illustrated in FIG. 4, the registration step can involve theintervention of an AS (107 b) which can be notified of the registrationevent, and which receives in the notification a user identifierregistered through the terminal. This latest feature is disclosed inAnnex B of 3GPP TS 29.328 (V7.3.0; September 2006) and can be used toaccomplish with one embodiment of the invention wherein an AS 107 b,cooperating with a S-CSCF 107 a, performs control functions for acommunication established between terminals. This embodiment can beadvantageously implemented wherever high-level functions concerning theterminal registered for a given user are performed by an AS whichcooperates with a node routing the signaling of said terminal, such as aS-CSCF.

In the illustrated example, when the AS 107 b becomes aware of theregistration 300 of terminal 101, it subscribes to notifications offaulty events related to communications where said terminal is involvedby sending a request to the assigned S-CSCF 107 a in flow 401. Thisaction of AS 107 b can be performed for any user subscribed to thesystem, or for some of them (e.g. as determined by subscriber data whichcan be downloaded from the HSS 109). Accordingly, the AS 107 b can storea special mark in relationship with one (or more) user identifier(s) ofa user for controlling this behaviour, which it can check when itreceives the notification of the registration 300, as said notificationcomprises the user identifier(s) that are registered from the terminal.The S-CSCF 107 a can then transfer the request to the intervening P-CSCF105 in flow 402, as this node can receive media-related events affectingterminal 101 from the PCRF 106. The request is acknowledged back inflows 403 and 404. Both, P-CSCF 105 and S-CSCF 107 a can set a mark inrelationship with the data they have stored in relationship with theregistration of terminal 101, which allow an eventual malfunction eventto be notified to the respective node (e.g. P-CSCF 105 can store themark in relationship with an identifier of the S-CSCF assigned to servesaid terminal, S-CSCF 107 a; and S-CSCF 107 a can store it inrelationship with an identifier of AS 107 b).

Step 310 represents the establishment of a communication betweenterminals 101 and 115. It is to be noticed that there can be otherserver entities mediating in said communication which relates to nodesassigned to serve and route signaling of terminal 115, such as anotherS-CSCF and P-CSCF, which are not shown in FIG. 4 for the sake ofclarity.

The establishment of a communication 310 between terminals usuallyimplies, not only that signaling links are established between theinvolved entities (i.e. nodes and terminals), but also thattelecommunication resources for conveying related media (such as voiceand/or image data) are signaled and booked in the system 100 (flows notshown in FIG. 4). Although a signaling control entity (such as 105, 107a or 107 b) can periodically check the status of the media stream(s)related to a communication, preferably a media intervening entity can bearranged to notify automatically media related events to any othercontrolling entity. Step 321 illustrates the case in which GGSN 104detects an abnormal event in the media sent from terminal 101 for itscommunication established with terminal 115. This can be achieved by aspecial monitoring function of the PCEF within GGSN 104. For example,the monitoring function can detect that no data packets (e.g. Real TimeProtocol RTP packets, and/or Real Time Protocol Control RTCP packets) ina data flow related to the media of this communication are sent fromterminal 101 in a pre-defined time, which can be due to a malfunction interminal 101. The malfunction event is notified in flow 405 towards thePCRF 106, which triggers the notification to the P-CSCF 105 and S-CSCF107 a in flows 406 and 407 respectively. The communication of themalfunction event can be accomplished by using DIAMETER protocol (e.g.as defined for “Gx” and “Rx” interfaces) by means of a notify AVP, or anew AVP indicating media malfunction event, and can convey data usableto identify a user and/or a media flow in the affected communication soas to allow to determine the terminal which failed.

At reception of the notification about media malfunction, the S-CSCF 107a notifies the event to AS 107 b in flow 408. The notification 408,which can be also accomplished by using DIAMETER protocol, preferablyconveys a reference usable to identify the affected (suspicious)terminal and/or his user (e.g. by means of a user identifier), or anidentifier of the affected communication (e.g. a session identifier). Asdescribed earlier with reference to the apparatus of FIG. 2 for apossible embodiment, the AS 107 a can store a recovery mark RCVR-MRK inrelationship with the session record data, and determine the affectedterminal 101 as the faulty terminal. An acknowledgement can be sent fromAS 107 b in flow 409. Preferably, in case of media malfunctionnotification, the S-CSCF 107 a or the AS 107 b verifies that there wasnot a previous signaling message from any of the involved terminals(101, 115) which requested the end of the communication (such as a SIPBYE message).

Step 322 represents the detection in S-CSCF 107 a of a malfunction eventrelated to the signaling it process for terminal 101. For example,terminal 101 has failed to send an acknowledge to a received messagewhich needs so, or terminal 101 has failed to send a refresh message asdisclosed in RFC4028, etc. This kind of malfunction events can be easilydetected in a S-CSCF, as it is a statefull SIP proxy server and, assuch, is aware of the current status of the communication, e.g., byimplementing a state-machine driven by the exchanged signaling messages.

Subsequently, the malfunction event is communicated to AS 107 b in flow410, and acknowledged back in flow 411, as described before for flows408 and 409. This kind of malfunction event (322) could also be detectedby AS 107 b if it processes signaling messages related to terminal 101.

Step 323 represents another case wherein a malfunction event is detectedin terminal 101. The nature of the detected event can, as describedabove, be related with the media of its communication with terminal 115,or with an event related to the signaling of said communication.Although, as cited earlier, media and/or signaling monitoring functionscan be available in some nodes of a telecommunications system;advantageously, the system is preferably adapted to receive malfunctionnotifications from terminals, as some of its nodes could be not adaptedto perform said monitoring functions, and/or these task could betemporarily unavailable in some of them, e.g., due to overload. By usingany SIP message suitable to convey a notification (or by adapting anexisting one), the malfunction notification can be sent through the SIPsignaling channel to the assigned P-CSCF 105 in flow 412, and from theretransmitted to the assigned S-CSCF 107 a in flow 413. Subsequentsignaling flows 414 and 415 run as described earlier for flows 408 and409, with the difference that now, due to the fact that the malfunctionevent has been notified from terminal 101, another peer terminal in thecommunication (e.g. terminal 115) is to be considered as faulty.

The signaling flows of FIG. 5 show a case wherein a singletelecommunications node 107 performs the signaling control of acommunication 310 established between terminals 101 and 115. Thissimplified case has been selected to illustrate more clearly someembodiments of the invention relating to phases which take place once amalfunction event 320 in a communication 310 has been detected. The node107 can be a S-CSCF, or a AS adapted for the invention which cooperateswith one or more S-CSCFs (not shown in FIG. 5) for controlling saidcommunication.

In flow 501 the controlling node 107 sends a message towards terminal101 to test its functionality in the communication. For example, amalfunction event related to terminal 101 was detected on step 320 and aconfirmation of this is desired, so as to discard a temporarymalfunction in the terminal. Also, as cited earlier, a test message 501can be sent at any time to any terminal involved in a communication,being this particularly useful when, due to the nature of themalfunction event, or due to lack of sufficient data in the malfunctionnotification and/or detection, the determination on which terminalis/are to be considered as faulty can not be made accurately.

Preferably, the controlling node 107 starts a timer waiting a reply tomessage 501 from terminal 101. Then, the terminal can be finallydetermined as faulty if a due reply is received before time-out of thetimer, and non-faulty otherwise. A particularly advantageous embodimentrelated to the implementation of the test message 501 comprises theconveyance of some relevant parameters which are the same as the onesused in the communication 310 established between the terminals. Forexample, message 501 can be accomplished by means of a SIP messageRE-INVITE or a SIP message UPDATE, which can indicate that a test isrequired, and which can convey parameters used in the establishment ofthe original communication 310 (e.g. session identifier, counterpartuser identifiers, etc); which allows reuse of existing SIP messages fora further purpose. Alternatively, a new message (e.g. a new SIP “TEST”message) can be used for the purpose of message 501.

At reception of message 501 the terminal 101 can perform an internalfunctional test. Additionally, if conveyed in message 501, the terminal501 can compare received communication session data with its own data(if said communication still “exists” for the terminal and said data arekept therein). If the test result in the terminal is successful it cansend back a SIP 200 OK message, which could prevent node 107 to startthe subsequent recovery procedure. The example case illustrated in FIG.5 considers a situation in which terminal 101 is faulty to the extentthat it does not send a reply to message 501. Accordingly, thecontrolling node 107 determines terminal 101 as faulty and terminal 115as non-faulty (step 330), and proceeds with subsequent steps forrecovery the lost communication.

When the malfunction event is detected, some resources are preferablykept in the telecommunications system. For example, the controlling node107 can keep some data it had stored about the communication before itfailed, which can be useful for re-establishing the communication, andmodify and/or store some other data. As disclosed earlier in referencewith the apparatus of FIG. 2, a recovery mark RCVR-MRK can be stored, aswell as the faulty/non-faulty mark (F/NF) in relationship with data ofeach of the intervening users or terminals. However, preferably, someother resources are released temporarily, or permanently, waiting forthe communication to be recovered. For example, the media resourcesallocated for the faulty terminal 101 can be permanently released, whichcan be accomplished by sending from the controlling node 107 thecorresponding signaling messages to other nodes (e.g. P-CSCF 105,S-CSCF-110), which can trigger further signaling messages to besubsequently sent to other nodes so as to release allocated mediaresources and related session records. Media resources utilized bynon-faulty terminal 115 to exchange media with the telecommunicationssystem are, however, preferably not permanently released, but can be puton-hold instead; which allow session record memory resources to be keptin other intervening entities, although no media is exchanged for acertain period with terminal 115. Alternatively, the whole communication(including media resources) with non-faulty terminal 115 can bereleased, wherein the system would later, if proceeds, establish a newcommunication with said terminal 115.

“Hold” and subsequent “resume” procedures are well-known by thoseskilled and need not to be further detailed herein.

These procedures are advantageously utilized according to the inventionto place on-hold, and later re-establish the media streams utilized bythe non-faulty terminal 115.

Flow 502 represents the sending of a signaling message towards thenon-faulty terminal for putting its communication on-hold. The messagesent in 502 can convey user information for the user of terminal 115 inorder he realizes that the telecommunications system is aware that afault in his communication with a counterpart terminal (101) has beendetected, and that a recovery procedure will be tried from the system.Also, in-band (audible) information can be sent towards non-faultyterminal 115 with this purpose. In case of SIP signaling, flow 502 mayrepresent the sending of a SIP message UPDATE indicating “hold”.

Preferably, the controlling node starts a timer (step 335) inrelationship with the faulty communication 310 (e.g. storing timinginformation “TIMER” in relationship with data of the failedcommunication SCTX-N), which can set a certain time limit for trying toestablish a communication with the user of the faulty terminal 101;either: from said terminal again, or from another terminal registered inthe telecommunications system for said user. The timer started on step335 advantageously sets a time limit for the controlling node 107 toperform subsequent recovery actions, and, at time-out, for performing afinal release of the resources still seized for the failed communication310, including the held communication with the non faulty terminal 115,and its associated resources.

Regardless the flows precedence illustrated in FIG. 5, the timer 335 canbe started at any time once a malfunction event related to acommunication has been detected. Its time-out value can be set initiallyto a certain pre-defined fixed value (e.g. fixed for all cases, set persubscriber data, etc), or to a value which depends on current trafficload conditions on controlling node 107 when it is started, or ontraffic load information about other nodes in the system which can beavailable to node 107. Also, the timer information can be modified oncethe timer 335 is running; for example, the remaining time can beincreased or decreased depending on the current traffic load conditionsin the system and/or in the controlling node 107.

The next two different recovery cases illustrated in FIG. 5, which shallnow be described, consider that the timer started in 335 has not yettimed-out. Flows 503 to 508 consider a first case wherein thecommunication is recovered with the same terminal 101 that failed. Flows509 to 514 consider a second case wherein the communication is recoveredwith another terminal 108 which is registered into thetelecommunications system for the same user identifier(s) whichwas(were) registered through the faulty terminal 101, or which relate toit(them) by subscription.

A consideration shall be made now with regard to controlling nodes whichcan be dynamically assigned at registration of a user from a terminal,as S-CSCFs are assigned within the IMS of a telecommunications system.The current state-of-the art for S-CSCF assignation in IMS allowsassigning the same S-CSCF for a particular user identifier of a user,although there can be other implementations wherein the S-CSCF assignedfor a registration is selected dynamically according to other criteria(e.g. less loaded S-CSCF). In any case, in order to allow a more simpleimplementation, it is preferable that the node controlling the recoveryprocedure of the invention, either: a S-CSCF, or a AS—which cooperateswith a S-CSCF; is the same. Accordingly, if the new functionality isimplemented mainly by a AS, which cooperates with a S-CSCF (asillustrated by AS 107 b in FIG. 4), a way of addressing said AS from anyS-CSCF in the system that can eventually be assigned in a registrationof a user identifier of a user, is to download an identifier of said AStogether with the user profile data which are downloaded from the HSSinto the S-CSCF during the registration phase; which could make theS-CSCF to contact said AS, for example, at registration from a terminalof a user identifier of a user. Alternatively, if the functionality isimplemented by S-CSCFs (e.g. as illustrated by S-CSCF 107 in FIG. 5), apossible way of addressing it at a subsequent registration of the sameuser identifier (or of another user identifier related to it bysubscription) is to forward recovery information from said S-CSCF to theHSS storing the subscription of the involved user (e.g. an indicationthat a communication recovery is pending from said S-CSCF for said useridentifier(s)). In this latest case, the HSS, during the registrationphase of the concerned user identifier(s) from a given terminal (e.g.when queried from a I-CSCF, would select said S-CSCF.

Numeral 503 groups the signaling flows which take place at registrationof the faulty terminal 101 once it recovered. If terminal 101 is amobile terminal incorporating an identity module (such as a SubscriberIdentity Module SIM card, or an Universal SIM card USIM), it can beassumed that it indicates the same user identifier(s) to be registeredduring this new registration phase 503. The controlling node 107 getsassigned to the registration and verifies user identifier(s) registeredfrom terminal 101 in the registration phase 503. For example, node 107can check whether there is a session context record SCTX-N whichcomprises an identifier registered now from terminal 101, or related tothe same subscription, which was marked to be recovered (RCVR-MRK: Y),and wherein the registered identifier was related to a terminal markedas faulty (101 i: F). For this purpose, the controlling node 107 cancheck for a match on the identifiers on its internal data (e.g.: withinthe stored information of a terminal, 101 i, 115 i), and/or request tothe HSS for the user identifiers related to the user identifier(s)received in the registration phase 503. As an implementation option, thecontrolling node 107 only considers whether the identifier(s) registeredfrom terminal 101 in the registration phase 503 matches an identifierwhich was registered when the previous communication failed (i.e. asstated in the information stored in the corresponding record SCTX-N).Alternatively, the controlling node 107 can take into account whetherthe user identifier(s) received in the registration phase 503 belong tothe same subscription as the user identifier(s) which were registeredwhen the previous communication failed. In the latest case, for example,if terminal 101 had registered the identifiers IDa and IDb of the userhaving the subscription SUBS-1 (see FIG. 1), and now terminal 101registers the identifier IDc, then, the controlling node 107 canconsider that the subsequent recovery procedure can proceed with thisterminal.

If a match is found according to any of the embodiments described above,the controlling node 107 can further check whether the recovery timer335 has not yet time-out. This can be redundant if, for example, thecorresponding session context data of the communication to be recovered(SCTX-N) have been released at time-out of timer 335. In flow 504 arecovery message is sent towards terminal 101. If the signaling protocolused is SIP, the recovery message 504 can be accomplished by means of aSIP message REFER comprising, for example: a “request URI” parameterconveying a user identifier registered through terminal 101, a “Call-ID”parameter comprising the session identifier of the SIP session beingrecovered, and further information such as a user identifier of the userof the non-faulty terminal 115, a communication method conveying theinformation of the service which was interrupted (e.g.: multimediacommunication, push-to-talk, etc.), information about the used media(e.g.: audio, video, data, combinational, etc), etc. These data can beused in terminal 101 for user display information purposes, as well asfor communication re-establishment purposes (e.g. in case the useraccepts to do so). It shall be noticed that, if more than onecommunications were ongoing on the faulty terminal when the malfunctionevent was detected, the message 504 can convey information about any, orall, these communications, as the corresponding information can be keptby the controlling node 107 on its session records 203-2.

If the user of terminal 101 accepts to recover a previously lostcommunication 310, it can send a communication request message in flow505. If SIP protocol is used, flow 505 can convey a SIP INVITEcomprising data usable to addressing the non-faulty terminal 115, suchas a user identifier registered through said non-faulty terminal. Thecontrolling node 107 can check that the communication request 505 refersto a previously faulty communication by checking data about theoriginating and/or terminating parties (e.g. by using data stored insession records SCTX-N which are marked to be recovered) and, in thatcase, bring the communication of the non-faulty terminal 115 out of theheld state by sending, e.g., a SIP message UPDATE indicating “resume” inflow 506. After that, if the communication resumption is accepted byterminal 115 (flows 507 and 508 can represent SIP 200 OK messages), anew communication is established through the telecommunications systembetween terminals 101 and 115, as signaled in recovery flows 505 and506. The recovery timer started on step 335 can be stopped at successfulestablishment of the new communication. Also, in case it timed-outduring the recovery procedure (e.g. during the signaling 504-506), itcan be re-started with a given value so as to allow the rest of theprocedure to be accomplished.

By putting on-hold the non-faulty terminal (flow 502), the subsequentsignaling for re-establishing the communication with the recoveredterminal 101 (or 108, as described in the next embodiment of FIG. 5) canbe decreased compared with the signaling usually needed foraccomplishing with a completely new communication establishment withsaid non-faulty terminal. Alternatively, if the communication withterminal 115 was not put on-hold before, a communication request bymeans of a SIP INVITE message could be sent from node 107 towardsterminal 115 at reception of flow 505 from terminal 101.

An optimization of the recovery procedure described above can beaccomplished by including recovery information within the registrationsignaling 503 (not detailed in FIG. 5) which is sent from terminal 101.For example, a special application in terminal 101 can make use ofcommunication data of a previously established communication (e.g.preferably in non-volatile memory). Accordingly, when terminal 101recovers from a malfunction, it can include, for example, sessionidentifier(s) of the session(s) that was(were) ongoing previous to thefault within a registration request (e.g. a SIP message REGISTER). Thisinformation could then be used by the controlling node 107 for findingthe corresponding session record SCTX-N of the session to be recoveredfor said terminal, information about the counterpart non-faultyterminal, etc; and perform the recovery actions described above.

When the fault 320 took place, the user of terminal 101 can discard therecovery of the communication he had established with the user ofterminal 115 by using the same (faulty) terminal 101, and use insteadother terminal 108 he has registered into the system 100. Thisparticular case is illustrated in the second embodiment of FIG. 5.

In flow 509 a recovery request message is received in the controllingnode 107. The message can convey a user identifier of the user ofterminal 108, and/or a user identifier of the user of the non-faultyterminal 115, which can help the controlling node 107 to identifywhether a previously faulty communication related to these data ispending to be recovered (e.g. by finding a stored session record SCTX-Nthat matches any of the aforementioned criteria). As described inrelationship with the previous embodiment, the user identifier(s)registered from terminal 108 can be checked by the controlling node 107,so as to determine whether subsequent recovery actions shall beperformed or not.

For example, the controlling node 107 can check whether theidentifier(s) registered from terminal 108 matches an identifier whichwas registered when the previous communication involving terminal 101failed (i.e. as stated in the information stored in the correspondingrecord SCTX-N). Alternatively, the controlling node 107 can take intoaccount whether the user identifier(s) which is(are) registered throughterminal 108 belongs to the same subscription as the user identifier(s)which were registered through the faulty terminal 101. In the latestcase, for example, if terminal 101 had registered the identifiers IDaand IDb of the user having the subscription SUBS-1 (see FIG. 1), andterminal 108 is registered for the identifier IDc, then, the controllingnode 107 can consider that the subsequent recovery procedure can proceedwith terminal 108, as these identifiers relate to the same subscription(SUBS-1).

In case of acceptance, a message comprising information usable toidentify previous faulty communication(s) is sent towards terminal 108in flow 510. The message in 510 can convey similar information asdescribed above for message 504, which, in a similar manner, can be usedin terminal 108 for user display information purposes, as well as forcommunication re-establishment purposes. The example illustrated in FIG.5 considers that the user of terminal 108 accepts to reestablish hislost communication with terminal 115 by sending a request to establish acommunication in flow 511, the content of which, as well as thecorresponding processing by the controlling node 107, can be asdescribed above with reference to flow 505. Subsequently, flows 512 to514, takes place for re-establishing the communication with non-faultyterminal 115 as described above with reference to flows 506 to 508.

The invention, as described therein, provides a solution for recoveringa faulty communication that takes into account a balance between theusage of the, limited, shared resources of a telecommunications system,and user comfort for the user of the non-faulty terminal(s) in thefaulty communication.

Currently, telecommunications nodes are mostly implemented incomputer-based machines. Accordingly, computer programs comprisingcomputer-readable program codes are loaded in computer-based machines oftelecommunications systems causing them to behave according to apredefined manner, as determined by the respective program codes, whichare in accordance to the specific functionality specified for thetelecommunications nodes these machine implements. Thus, those skilledin creating and/or modifying computer programs, would, without departingof the teachings of the present invention, readily apply them to createand/or modify computer programs suitable to be loaded in computer-basedtelecommunication nodes, such as nodes arranged for controllingcommunications and routing related signaling, or specific applicationservers arranged to perform high-level processing related to saidsignaling, so as to make them to behave according to any of thedescribed embodiments.

The invention has been described with respect to some exemplaryembodiments in an illustrative and non-restrictive manner. Variationscan be readily apparent to those of ordinary skill in the art. For thisreason, the invention is to be interpreted and limited in view of theclaims.

The invention claimed is:
 1. A method for controlling a communicationestablished between terminals through a telecommunications system,comprising the steps of: a) detecting a malfunction event related to acommunication established between the terminals, b) determining thatthere is a faulty terminal and a non-faulty terminal between saidterminals according to the malfunction event, c) detecting in thetelecommunications system a terminal registered for a user identifierwhich was registered through the faulty terminal or which is related bysubscription to said user identifier, route a message received from aterminal involved in said communication towards another terminalinvolved in said communication which requires a reply, start a timer forreceiving said reply, determine said another terminal as the faultyterminal if said reply is not received at time-out of said timer, and d)establishing from the telecommunications system a new communicationbetween said registered terminal and said non-faulty terminal.
 2. Themethod of claim 1 wherein step a) comprises the steps of: a1) detectingin the telecommunications system a disruption of the media sent from aterminal related to said communication.
 3. The method of claim 1 whereinthe step a) comprises the step of: a2) detecting in thetelecommunications system a time-out for sending a message related tosaid communication from a terminal.
 4. The method of claim 1 wherein thestep a) comprises the step of: a3) receiving in the telecommunicationssystem a message from a terminal involved in said communicationnotifying the detection of a malfunction event.
 5. The method of claim 1wherein the step “b” comprise the steps of: b4) sending a test messagefrom the telecommunications system to a terminal involved in saidcommunication, and b5) determining said terminal involved in saidcommunications as a non-faulty terminal if a reply to said message isreceived from said terminal and as a faulty terminal otherwise.
 6. Themethod of claim 1 further comprising the step previous to step d) of: e)sending a message from the telecommunications system to the non-faultyterminal for putting on hold its communication with the faulty terminal,wherein the step d) comprises the step of: d1) sending a message fromthe telecommunications system to the non-faulty terminal for resumingthe communication with said registered terminal.
 7. The method of claim1 further comprising the step previous to step c) of: f) starting atimer in the telecommunications system, and g) determining that saidtimer has not timed-out before executing step d).
 8. The method of claim1 wherein step c) comprises the step of: c1) receiving in thetelecommunications system a message notifying a registration of aterminal for a user identifier which was registered through the faultyterminal or which is related by subscription to said user identifier. 9.The method of claim 1 wherein the step c) “c” comprises the step of: c2)receiving in the telecommunications system a message requesting torecover a previous communication from a terminal registered in thetelecommunications system for a user identifier which was registeredthrough the faulty terminal or which is related by subscription to saiduser identifier.
 10. The method of claim 1, wherein the step d) “d”comprises the steps of: d2) sending from the telecommunications system amessage to the registered terminal comprising a user identifierregistered through the non-faulty terminal or related by subscription tosaid user identifier, d3) receiving in the telecommunications system amessage from the registered terminal requesting to establish acommunication and comprising data usable for addressing the non-faultyterminal, and d4) sending from the telecommunications system a messageto the non-faulty terminal requesting to establish a communication withthe registered terminal.
 11. An apparatus for controlling acommunication established between terminals through a telecommunicationssystem that comprises a processor and a storage device in communicationwith said processor for storing instructions to be executed by saidprocessor to: process a detected malfunction event related to acommunication established between at least two terminals so as todetermine a faulty terminal and a non-faulty terminal between saidterminals according to the malfunction event, detect a terminalregistered in the telecommunications system for a user identifierregistered through the faulty terminal or is related by subscription tosaid user identifier, route a message received from a terminal involvedin said communication towards another terminal involved in saidcommunication which requires a reply, start a timer for receiving saidreply, determine said another terminal as the faulty terminal if saidreply is not received at time-out of said timer, and establish a newcommunication between said registered terminal and said non-faultyterminal.
 12. The apparatus of claim 11 wherein the storage devicestores further instructions to be executed by said processor to: receivea message notifying a disruption of the media ent from a terminalrelated to said communication, and determine said terminal related tosaid communication as the faulty terminal.
 13. The apparatus of claim 11wherein the storage device stores further instructions to be executed bysaid processor to: receive a message notifying a time-out for sending amessage related to said communication from a terminal, and determinesaid terminal related to said communication as the faulty terminal. 14.The apparatus of claim 11 wherein the storage device stores furtherinstructions to be executed by said processor to: receive a message froma terminal involved in said communication notifying the detection of amalfunction event.
 15. The apparatus of claim 11 wherein the storagedevice stores further instructions to be executed by said processor to:send a test message towards a terminal involved in said communication,and determine said terminal as a non-faulty terminal if a reply to saidmessage is received from said terminal and as a faulty terminalotherwise.
 16. The apparatus of claim 11 wherein the storage devicestores further instructions to be executed by said processor to: send amessage towards the non-faulty terminal after the malfunction event isdetected for putting on hold the non-faulty terminal communication withthe faulty terminal, and send a message towards the non-faulty terminalfor resuming the communication with said registered terminal.
 17. Theapparatus of claim 11 wherein the storage device stores furtherinstructions to be executed by said processor to start the timer afterthe malfunction event is detected, and check that said timer has nottimed-out before establishing the new communication.
 18. The apparatusof claim 11 wherein, for detecting said registered terminal, the storagedevice stores further instructions to be executed by said processor toreceive a message notifying a registration of a terminal for a useridentifier, and check that said user identifier was registered throughthe faulty terminal or is related to the faulty terminal bysubscription.
 19. The apparatus of claim 11 wherein, for detecting saidregistered terminal, the storage device stores further instructions tobe executed by said processor to: receive a message requesting torecover a previous communication from a terminal registered in thetelecommunications system for a user identifier, and check that saiduser identifier was registered through the faulty terminal or is relatedto the faulty terminal by subscription.
 20. The apparatus of claim 11wherein, for establishing a new communication between said registeredterminal and said non-faulty terminal, the storage device stores furtherinstructions to be executed by said processor to: send a message towardsthe registered terminal comprising a user identifier registered throughthe non-faulty terminal or related by subscription to said useridentifier, receive a message from the registered terminal requesting toestablish a communication the message comprising data for addressing thenon-faulty terminal, and send a message towards the non-faulty terminalrequesting to establish a communication with the registered terminal.